// import { json } from "body-parser";
// import { JSONParser } from "formidable/parsers";

$(function ()
{
    loginstate();
    buynumber();
    loupe();
    addressSelect();
    addCart();
    tabChange();
    initshop();
    
    // 初始化购物车的值
    function initshop()
    {
        // 当存在用户登录的时候
        if ($.cookie("uname"))
        {
            // 获取购物车物品的数量
            let len = 0;
            if($.cookie("shopCart"))
            len = JSON.parse($.cookie("shopCart")).length;
            // 赋予页面中em值
            $(".searchbox .right .buy div").find("em").text(len);
        }
        else {
            $(".searchbox .right .buy div").find("em").text(0)
        }
    }
    //检测登录状态   并更新购物车的状态
    function loginstate()
    {
        if ($.cookie("uname"))
        {
            function change(e)
            {
                // 阻止默认行为刷新页面
                e.preventDefault();
                // 退出登录后  变回原样 
                $(".topbox .right").find("div")
                .eq(0).find("a")
                .text("你好,请登录")
                .prop("href", "/乐视项目/html/login.html"); 
                
                $(".searchbox .box .right .buy").find("div").find("a")
                .prop("href", "/乐视项目/html/login.html");

                // 清除已经存在的cookie
                $.removeCookie('uname');
                $.removeCookie('pwd');
                // 同时改变自身内容
                $(this).text("免费注册").off("click");

                // 更新购物车的状态  退出则删除购物车的cookie
                $.removeCookie('shopCart');
                initshop()
            }
            // 发现已经登录  则将页面url进行更换
            $(".topbox .right ").find("div")
                .eq(0).find("a")
                .text($.cookie("uname"))
                .prop("href", "/乐视项目/html/shopCart.html");
            
            $(".topbox .right").find("div")
                .eq(1).find("a")
                .text("退出登录")
                .on("click", change);
            
            $(".searchbox .box .right .buy").find("div").find("a")
                .prop("href", "/乐视项目/html/shopCart.html");
        }
    }

    // 购买数量按钮事件
    function buynumber()
    {
        $(".info .ifbottom .btcenter .ctbottom .buygood .number")
            .find(".button")
            .find("input").eq(0).on("click", function ()
            {
                let val = $(this).parent().parent().find("input").eq(0).val();
                $(this).parent().parent().find("input").eq(0).val(val - 0 + 1);
            })
            $(".info .ifbottom .btcenter .ctbottom .buygood .number")
            .find(".button")
            .find("input").eq(1).on("click", function ()
            {
                let val = $(this).parent().parent().find("input").eq(0).val();
                if (val - 1 == 0)
                    val == 1
                else
                    val -= 1;
                $(this).parent().parent().find("input").eq(0).val(val);
            })
    }

    // 放大镜事件
    function loupe()
    {
        // 拿到对比
        let scale = $(".info .infobox .glass img").width() /
            $(".info .infobox .ifbottom .btleft img")
                .eq(0).width();
        // 初始化大小
        $(".info .infobox .minglass").css({
            width: $(".info .infobox .glass").width() / scale,
            height: $(".info .infobox .glass").height() / scale,
        })
        // 鼠标进入  小窗口的大小
        $(".info .infobox .ifbottom .btleft img").eq(0).on("mouseenter", function ()
        {
            $(".info .infobox .minglass").show();
            $(".info .infobox .glass").show();
        }).on("mouseleave", function ()
        {
            $(".info .infobox .glass").hide();
            $(".info .infobox .minglass").hide();
        })
        // 给鼠标进入图片绑定事件
        $(".info .infobox .ifbottom .btleft img").eq(0)
            .on("mousemove", function (e)
            {
                let mx = e.pageX - $(this).offset().left - $(".info .infobox .minglass").width() / 2;
                let my = e.pageY - $(this).offset().top + 52 - $(".info .infobox .minglass").height() / 2
                
                if (mx <= 0)
                    mx = 0;
                if (mx >= $(this).width()-$(".info .infobox .minglass").width())
                    mx = $(this).width()-$(".info .infobox .minglass").width();
                if (my <= 52)
                    my =52;
                if (my >= $(this).height() - $(".info .infobox .minglass").height()+52)
                    my = $(this).height() - $(".info .infobox .minglass").height()+52;
                
                $(".info .infobox .minglass").css({
                    left: mx,
                    top: my,
                })

                $(".info .infobox .glass img").eq(0).css({
                    left: mx * -scale,
                    top: (my-52) * -scale
                })
            })
        // 鼠标进入切换图片
        $(".info .infobox .ifbottom .btleft .item").find("li")
            .on("mouseenter", function ()
            {
                let src = $(this).find("img").prop("src");
                $(".info .infobox .ifbottom .btleft img").eq(0)
                    .prop("src", src);
                
                $(".info .infobox .glass").find("img")
                    .prop("src", src);
            })
    }

    // 地址选择事件
    function addressSelect()
    {
        $(".address").on("mouseenter", function ()
        {
            $(this).find("i").removeClass("icon-xiala-").addClass("icon-shangla");
            $(".addressinfo").css({
                display: "block",
            });
        })
        $(".address").on("mouseleave", function ()
        {
            $(this).find("i").removeClass("icon-shangla").addClass("icon-xiala-");
            $(".addressinfo").css({
                display: "none",
            });
        })

        $(".goodinfo .selcontent li").find("a").on("click", function (e)
        {
            e.preventDefault();
            let txt = $(this).text();
            // console.log(txt);
            $(".goodinfo .address span").text(txt);
            $(".goodinfo .address .addressinfo .cursel").text(txt);
            $(".addressinfo").css({
                display: "none",
            });
        })
    }

    // 加入购物车和立即购买事件
    function addCart()
    {
        // 立即购买  跳转到购物车页面
        $(".buybutton button").eq(0).on("click", function ()
        {
            location.assign("/乐视项目/html/shopCart.html");
        })
        // 加入购物车事件
        $(".buybutton button").eq(1).on("click", function ()
        {
            
            // 开始判断当前购物车中是否有东西     以cookie做存储  同时存储到服务器的数据库中
            function shopcookie(good)
            {
                let arr = [];
                let uname=JSON.parse($.cookie("uname"));
                good.uname = uname;
                if ($.cookie("shopCart"))
                {
                    arr = JSON.parse($.cookie("shopCart"))
                    // 查找是否有当前商品
                    for (let i = 0; i < arr.length; i++)
                    {
                        // 当地址和商品名相同时 才为同一个   否则不同
                        if (arr[i].name == good.name&&arr[i].address==good.address)
                        {
                            arr[i].number += good.number - 0;
                            // 更新数据库的数据
                            let ip = location.href.split("//")[1].split("/")[0].split(":")[0];
                            $.post("http://"+ip+":8000"+"/shopcart/updatshop",{shop:JSON.stringify(arr[i]),uname}, function (data) {
                                if (data == "更新成功")
                                console.log("购物车数据更新成功");
                                else
                                console.log("购物车数据更新失败");    
                            })
                            $.cookie("shopCart", JSON.stringify(arr));
                            return;
                        }
                    }
                }
                arr.push(good);
                $.cookie("shopCart", JSON.stringify(arr));
                let ip = location.href.split("//")[1].split("/")[0].split(":")[0];
                // 更新数据库的数据
                $.post("http://"+ip+":8000"+"/shopcart/addshop",{shop:JSON.stringify(good),uname}, function (data) {
                    if (data == "添加成功")
                        console.log("购物车数据添加成功");
                    else
                        console.log("购物车数据添加失败");
                })
                // 更新购物车数据后  进行购物车框中数据更新
                initshop();
            }
            //  // 购物车飞入效果
            function flyCart()
            {
                let node = $(".info .ifbottom .btleft img").eq(0).clone(false);
                node.css({
                    width: 350,
                    height: 350,
                    position: "absolute",
                    left: 0,
                    top:0
                })
                // 获取购物车的位置
               
                
                $(".buybutton .buy").append(node);
                let mx = $(".searchbox .right .buy").offset().left-node.offset().left;
                let my = node.offset().top-$(".searchbox .right .buy").offset().top ;
                $(node).animate(
                    {
                        left: mx,
                        top: -my,
                        width: 0,
                        height:0
                    },1000
                )
            }
            // 获取当前商品   // 在完善信息后  才可以进行数据的更新 与飞入效果
            function getgood()
            {

            // 以下所有的纯数字都是number类型
            // 拿到数量
            let number = $(".buygood .number").find("input").eq(0).val()-0;
            // console.log(number);
                
            // 拿到地址
            let address = $(".goodinfo .peisong .address span").text();

            if (address == "请选择")
            {
                alert("请先选择地址");
                return;
            }
            // 拿到单价
            let price = $(".price").find("strong").text().split("￥")[1] - 0;
            // 拿到商品名字
            let name = $(".btcenter .cttop").find("h1").text();
            // 拿到图片的地址 方便购物车进行图片显示
                let src = $(".info .ifbottom .btleft img").eq(0).prop("src");
            //对象总集 
            let good = {
                number,address,price,name,src
                }
            // 在完善信息后  才可以进行数据的更新 与飞入效果
            flyCart();
            shopcookie(good);
            }
            getgood();
            if(JSON.parse($.cookie("shopCart")))
            console.log(JSON.parse($.cookie("shopCart")));

        })
    }
    // tab栏切换内容    
    // 其中切换内容时 可以使用类名 + jq的隐式迭代
    function tabChange()
    {
        $(".dtright .rtop .title ul li").click(function (e)
        {
            e.preventDefault();
            $(this).find("a").addClass("current");
            $(this).siblings().find("a").removeClass("current");

            let str = ".rbottom";
            str += $(this).index() + 1;
            $(str).css({
                display: "block",
            }).siblings(".floorc").css({
                display: "none",
            })
            
        })
    }

})